package uniqueOccurrences;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

public class Solution {
    public boolean uniqueOccurrences(int[] arr) {
        Map<Integer,Integer> map = new HashMap<>();
        for (int i = 0; i < arr.length; i++) {
            map.put(arr[i],map.getOrDefault(arr[i],0)+1);
        }
        for (int i = 0; i < arr.length; i++) {
            for (int j = i+1; j <arr.length ; j++) {
                if(arr[i]!=arr[j]&&map.get(arr[i])==map.get(arr[j])){
                    return false;
                }
            }
        }
        return true;
    }
}
//class Solution {
//    public boolean uniqueOccurrences(int[] arr) {
//        Map<Integer, Integer> occur = new HashMap<Integer, Integer>();
//        for (int x : arr) {
//            occur.put(x, occur.getOrDefault(x, 0) + 1);
//        }
//        Set<Integer> times = new HashSet<Integer>();
//        for (Map.Entry<Integer, Integer> x : occur.entrySet()) {
//            times.add(x.getValue());
//        }
//        return times.size() == occur.size();
//    }
//}